home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / HENSA / MATHS / PLPLOT / PLPLOT.ZIP / sys / os2 / makefile < prev    next >
Encoding:
Makefile  |  1992-05-21  |  7.3 KB  |  351 lines

  1. #
  2. # Makefile for PLPLOT
  3. #
  4. # This makefile is intended to be used with Microsft NMAKE, as supplied with
  5. # MS C 6.0 Professional Development System (it's not actually very expensive).
  6. # It is currently set up to be run in an OS/2 session, and will build the
  7. # PLPLOT system of libraries, utilities and examples for execution under either
  8. # OS/2 native mode or under DOS (and the OS/2 DOS box).  
  9. #
  10. # To build the DOS version, you will need to modify the makefile in a couple
  11. # of places, in order to include the DOSVGA driver.  These changes are marked
  12. # in the makefile with comments starting with "# DOS".
  13. #
  14. # Questions or problems, send (e)mail to:
  15. #    Geoffrey Furnish
  16. #    furnish@fusion.ph.utexas.edu
  17. #    Institute for Fusion Studies
  18. #    Department of Physics
  19. #    The University of Texas at Austin
  20. #    Austin, Texas    78712
  21.  
  22. PLDIR    = d:\plplot\ 
  23. PLLIBS    = .
  24. PLFONTS    = $(PLDIR)plfonts\ 
  25. PLFNT_DIR=\lib
  26. PLTMP    = $(PLDIR)tmp\ 
  27. PLLIBDIR = .
  28. FONTFLAG= "-DPLFONTDEV1=\"c:\\lib\\ \""
  29.  
  30. CC    = cl
  31. CFLAGS    = /FPi87  /nologo /Od /Zi /AL
  32. #CFLAGS    = /FPi87  /nologo /Ox /G2 /AL
  33. F77    = fl
  34. FFLAGS    = /FPi87  /nologo /Od /Zi /AL
  35. #FFLAGS    = /FPi87  /nologo /Ox /G2 /AL
  36.  
  37. # OS/2    Enable -DOS2PM if you have purchassed this add-on driver.
  38. #    Also, you'll need to enable it in the driver list below...
  39. DRIVERS    = -DPS -DLJII -DPLMETA -DHP7470 -DIMP #-DOS2PM
  40.  
  41. # DOS
  42. # DRIVERS    = -DPS -DLJII -DPLMETA -DHP7470 -DIMP -DVGA
  43.  
  44. # Rules
  45. .SUFFIXES:
  46. .SUFFIXES: .o .c .for
  47.  
  48. .c.o:
  49.     $(CC) -c $(CFLAGS) /Fo$*.o $*.c 
  50. .for.o:
  51.     $(F77) -c $(FFLAGS) /Fo$*.o $*.for
  52.  
  53. # Object file macros
  54.  
  55. OBJ =    \
  56.     base.o \
  57.     convert.o \
  58.     genlin.o \
  59.     move.o \
  60.     pladv.o \
  61.     plaxes.o \
  62.     plbeg.o \
  63.     plbin.o \
  64.     plbox.o \
  65.     plbox3.o \
  66.     plccal.o \
  67.     plcntr.o \
  68.     plcol.o \
  69.     plcont.o \
  70.     plconf.o \
  71.     pldtik.o \
  72.     plend.o \
  73.     plenv.o \
  74.     plerr.o \
  75.     plexit.o \
  76.     plfill.o \
  77.     plfont.o \
  78.     plform.o \
  79.     plgra.o \
  80.     plgrid3.o \
  81.     plgspa.o \
  82.     plhist.o \
  83.     pljoin.o \
  84.     pllab.o \
  85.     pllclp.o \
  86.     plline.o \
  87.     pllsty.o \
  88.     plmesh.o \
  89.     plmtex.o \
  90.     plnxtv.o \
  91.     plot3d.o \
  92.     plpat.o \
  93.     plpsty.o \
  94.     plptex.o \
  95.     plrot.o \
  96.     plsdef.o \
  97.     plside3.o \
  98.     plstar.o \
  99.     plstyl.o \
  100.     plsvpa.o \
  101.     plsym.o \
  102.     plt3zz.o \
  103.     pltick.o \
  104.     plvasp.o \
  105.     plvpas.o \
  106.     plvpor.o \
  107.     plvsta.o \
  108.     plw3d.o \
  109.     plwid.o \
  110.     plwind.o \
  111.     plxybx.o \
  112.     plzbx.o \
  113.     string.o 
  114.  
  115. OS2_OBJ = \
  116.     dispatch.o \
  117.     pdfutils.o \
  118.     hp7470.o \
  119.     hp7580.o \
  120.     impress.o \
  121.     ljii.o \
  122.     ps.o \
  123.     tek.o \
  124.     plmeta.o
  125.  
  126. # DOS
  127. # Add dosvga.o to the above list.
  128. # (Just copy the next line to right above plmeta.o, and strip the leading #.
  129. #    dosvga.o \
  130.  
  131. # OS/2
  132. # Take dosvga.o out of the list and add os2pm.o if you've purchassed it.
  133. # (Just copy the next line to right above plmeta.o, and strip the leading #.
  134. #    os2pm.o \
  135.  
  136.  
  137. # Support files for font generators.
  138.  
  139. FONT_OBJ = \
  140.     font01.o \
  141.     font02.o \
  142.     font03.o \
  143.     font04.o \
  144.     font05.o \
  145.     font06.o \
  146.     font07.o \
  147.     font08.o \
  148.     font09.o \
  149.     font10.o \
  150.     font11.o
  151.  
  152. # C language stubs for linking Plplot to Fortran.
  153.  
  154. CSTUB_OBJ = \
  155.     long2str.o \
  156.     sc3d.o \
  157.     scconf.o \
  158.     scstubs.o
  159.  
  160. # Fortran language stubs for linking Plplot to Fortran.
  161.  
  162. FSTUB_OBJ = \
  163.     sfstubs.o
  164.  
  165. # Library dependencies
  166.  
  167. libs:    libc libf
  168. libc:    $(PLLIBS)\plplot.lib
  169. libf:    $(PLLIBS)\plstub.lib
  170.  
  171. $(PLLIBS)\plplot.lib:    $(OBJ) $(OS2_OBJ)
  172.     @echo Ready to build plplot.lib
  173.     -@del plplot.lib
  174.     lib @<<
  175. plplot
  176. y
  177. + $(OBJ:.o =.o &
  178. +) &
  179. + $(OS2_OBJ:.o =.o &
  180. +) ;
  181. <<
  182.  
  183. $(PLLIBS)\plstub.lib:    $(CSTUB_OBJ) $(FSTUB_OBJ)
  184.     @echo Ready to build plstub.lib
  185.     -@del plstub.lib
  186.     lib @<<
  187. plstub
  188. y
  189. + $(CSTUB_OBJ:.o =.o &
  190. +) &
  191. + $(FSTUB_OBJ:.o =.o &
  192. +) ;
  193. <<
  194.  
  195. # In case you REALLY mean it!
  196.  
  197. force: links libs
  198.  
  199. # First time only, should be executed from $(PLTMP)
  200.  
  201. links: linkmain linkstubs
  202.  
  203. linkmain:
  204.     copy ..\src\*.c .
  205.     copy ..\include\*.h .
  206.     copy ..\examples\c\*.c .
  207.     copy ..\examples\f77\*.f .
  208.     copy ..\drivers\*.* .
  209.     copy ..\fonts\*.* .
  210.     copy ..\utils\*.* .
  211.     ren *.f *.for
  212.  
  213. linkstubs:    
  214.     copy ..\sys\os2\stubf\*.* .
  215.     copy ..\src\stubc\*.* .
  216.     ren *.f *.for
  217.  
  218. # The metafile renderer.
  219.  
  220. plrender:
  221.     cl $(CFLAGS) plrender.c getopt.c plplot.lib
  222.  
  223. #----------------------------------------------------------------------#
  224. # Font files.
  225. # Note 6 font files actually created.
  226. # sfont - standard font
  227. # xfont - extended fonts
  228.  
  229. fonts:    sfont xfont
  230.     copy *.fnt $(PLFNT_DIR)
  231.  
  232. sfont:    $(PLFNT_DIR)plstnd.fnt
  233. xfont:    $(PLFNT_DIR)plxtnd.fnt
  234.  
  235. $(PLFNT_DIR)plstnd.fnt:
  236.     $(CC) $(CFLAGS:AL=AH) /Gt16 stndfont.c font*.c
  237.     -stndfont
  238.  
  239. $(PLFNT_DIR)plxtnd.fnt:
  240.     $(CC) $(CFLAGS:AL=AH) /Gt16 xtndfont.c font*.obj
  241.     -xtndfont
  242.  
  243. #----------------------------------------------------------------------#
  244. # Explicit rules
  245. #
  246. # plfont.c may have font flags passed in
  247.  
  248. plfont.o: plfont.c
  249.     $(CC) -c $(CFLAGS) $(FONTFLAG)    /Fo$*.o $*.c
  250.  
  251. # dispatch.c and all the drivers need to know $(PLDEVICES).  The guts
  252. # of the driver routine are not compiled if its name is not present in
  253. # the device list.  You may want to leave drivers for specific systems
  254. # (Amiga, MS-DOS, OS/2, etc) out of this list.
  255.  
  256. dispatch.o: dispatch.c
  257.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  258.  
  259. hp7470.o:    hp7470.c
  260.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  261.  
  262. hp7580.o:    hp7580.c
  263.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  264.  
  265. impress.o:    impress.c
  266.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  267.  
  268. ljii.o:    ljii.c
  269.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  270.  
  271. ps.o:    ps.c
  272.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  273.  
  274. tek.o:    tek.c
  275.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  276.  
  277. plmeta.o:    plmeta.c
  278.     $(CC) -c $(CFLAGS) $(DRIVERS) /Fo$*.o $*.c 
  279.  
  280. #----------------------------------------------------------------------#
  281. # Build all the demos
  282.  
  283. demos : cdemos fdemos
  284.  
  285. # Example programs, in c.
  286.  
  287. cdemos:    x01c x02c x03c x04c x05c x06c x07c x08c x09c x10c x11c \
  288.     x12c x13c x14c tutor
  289.  
  290. x01c:    x01c.c
  291.     $(CC) $(CFLAGS) x01c.c plplot.lib
  292. x02c:    x02c.c
  293.     $(CC) $(CFLAGS) x02c.c plplot.lib
  294. x03c:    x03c.c
  295.     $(CC) $(CFLAGS) x03c.c plplot.lib
  296. x04c:    x04c.c
  297.     $(CC) $(CFLAGS) x04c.c plplot.lib
  298. x05c:    x05c.c
  299.     $(CC) $(CFLAGS) x05c.c plplot.lib
  300. x06c:    x06c.c
  301.     $(CC) $(CFLAGS) x06c.c plplot.lib
  302. x07c:    x07c.c
  303.     $(CC) $(CFLAGS) x07c.c plplot.lib
  304. x08c:    x08c.c
  305.     $(CC) $(CFLAGS) x08c.c plplot.lib
  306. x09c:    x09c.c
  307.     $(CC) $(CFLAGS) x09c.c plplot.lib
  308. x10c:    x10c.c
  309.     $(CC) $(CFLAGS) x10c.c plplot.lib
  310. x11c:    x11c.c
  311.     $(CC) $(CFLAGS) x11c.c plplot.lib
  312. x12c:    x12c.c
  313.     $(CC) $(CFLAGS) x12c.c plplot.lib
  314. x13c:    x13c.c
  315.     $(CC) $(CFLAGS) x13c.c plplot.lib
  316. x14c:    x14c.c
  317.     $(CC) $(CFLAGS) x14c.c plplot.lib
  318. tutor:    tutor.c
  319.     $(CC) $(CFLAGS) tutor.c plplot.lib
  320.  
  321. # Example programs, in Fortran.
  322.  
  323. fdemos:    x01f x02f x03f x04f x05f x06f x07f x08f x09f x10f x11f x12f x13f
  324.  
  325. x01f:
  326.     $(F77) $(FFLAGS) x01f.for plplot.lib plstub.lib
  327. x02f:
  328.     $(F77) $(FFLAGS) x02f.for plplot.lib plstub.lib
  329. x03f:
  330.     $(F77) $(FFLAGS) x03f.for plplot.lib plstub.lib
  331. x04f:
  332.     $(F77) $(FFLAGS) x04f.for plplot.lib plstub.lib
  333. x05f:
  334.     $(F77) $(FFLAGS) x05f.for plplot.lib plstub.lib
  335. x06f:
  336.     $(F77) $(FFLAGS) x06f.for plplot.lib plstub.lib
  337. x07f:
  338.     $(F77) $(FFLAGS) x07f.for plplot.lib plstub.lib
  339. x08f:
  340.     $(F77) $(FFLAGS) x08f.for plplot.lib plstub.lib
  341. x09f:
  342.     $(F77) $(FFLAGS) /Gt512 x09f.for plplot.lib plstub.lib
  343. x10f:
  344.     $(F77) $(FFLAGS) x10f.for plplot.lib plstub.lib
  345. x11f:
  346.     $(F77) $(FFLAGS) x11f.for plplot.lib plstub.lib
  347. x12f:
  348.     $(F77) $(FFLAGS) x12f.for plplot.lib plstub.lib
  349. x13f:
  350.     $(F77) $(FFLAGS) x13f.for plplot.lib plstub.lib
  351.